1: | active(f(X)) | → mark(cons(X,f(g(X)))) | |
2: | active(g(0)) | → mark(s(0)) | |
3: | active(g(s(X))) | → mark(s(s(g(X)))) | |
4: | active(sel(0,cons(X,Y))) | → mark(X) | |
5: | active(sel(s(X),cons(Y,Z))) | → mark(sel(X,Z)) | |
6: | active(f(X)) | → f(active(X)) | |
7: | active(cons(X1,X2)) | → cons(active(X1),X2) | |
8: | active(g(X)) | → g(active(X)) | |
9: | active(s(X)) | → s(active(X)) | |
10: | active(sel(X1,X2)) | → sel(active(X1),X2) | |
11: | active(sel(X1,X2)) | → sel(X1,active(X2)) | |
12: | f(mark(X)) | → mark(f(X)) | |
13: | cons(mark(X1),X2) | → mark(cons(X1,X2)) | |
14: | g(mark(X)) | → mark(g(X)) | |
15: | s(mark(X)) | → mark(s(X)) | |
16: | sel(mark(X1),X2) | → mark(sel(X1,X2)) | |
17: | sel(X1,mark(X2)) | → mark(sel(X1,X2)) | |
18: | proper(f(X)) | → f(proper(X)) | |
19: | proper(cons(X1,X2)) | → cons(proper(X1),proper(X2)) | |
20: | proper(g(X)) | → g(proper(X)) | |
21: | proper(0) | → ok(0) | |
22: | proper(s(X)) | → s(proper(X)) | |
23: | proper(sel(X1,X2)) | → sel(proper(X1),proper(X2)) | |
24: | f(ok(X)) | → ok(f(X)) | |
25: | cons(ok(X1),ok(X2)) | → ok(cons(X1,X2)) | |
26: | g(ok(X)) | → ok(g(X)) | |
27: | s(ok(X)) | → ok(s(X)) | |
28: | sel(ok(X1),ok(X2)) | → ok(sel(X1,X2)) | |
29: | top(mark(X)) | → top(proper(X)) | |
30: | top(ok(X)) | → top(active(X)) | |
31: | ACTIVE(f(X)) | → CONS(X,f(g(X))) | |
32: | ACTIVE(f(X)) | → F(g(X)) | |
33: | ACTIVE(f(X)) | → G(X) | |
34: | ACTIVE(g(0)) | → S(0) | |
35: | ACTIVE(g(s(X))) | → S(s(g(X))) | |
36: | ACTIVE(g(s(X))) | → S(g(X)) | |
37: | ACTIVE(g(s(X))) | → G(X) | |
38: | ACTIVE(sel(s(X),cons(Y,Z))) | → SEL(X,Z) | |
39: | ACTIVE(f(X)) | → F(active(X)) | |
40: | ACTIVE(f(X)) | → ACTIVE(X) | |
41: | ACTIVE(cons(X1,X2)) | → CONS(active(X1),X2) | |
42: | ACTIVE(cons(X1,X2)) | → ACTIVE(X1) | |
43: | ACTIVE(g(X)) | → G(active(X)) | |
44: | ACTIVE(g(X)) | → ACTIVE(X) | |
45: | ACTIVE(s(X)) | → S(active(X)) | |
46: | ACTIVE(s(X)) | → ACTIVE(X) | |
47: | ACTIVE(sel(X1,X2)) | → SEL(active(X1),X2) | |
48: | ACTIVE(sel(X1,X2)) | → ACTIVE(X1) | |
49: | ACTIVE(sel(X1,X2)) | → SEL(X1,active(X2)) | |
50: | ACTIVE(sel(X1,X2)) | → ACTIVE(X2) | |
51: | F(mark(X)) | → F(X) | |
52: | CONS(mark(X1),X2) | → CONS(X1,X2) | |
53: | G(mark(X)) | → G(X) | |
54: | S(mark(X)) | → S(X) | |
55: | SEL(mark(X1),X2) | → SEL(X1,X2) | |
56: | SEL(X1,mark(X2)) | → SEL(X1,X2) | |
57: | PROPER(f(X)) | → F(proper(X)) | |
58: | PROPER(f(X)) | → PROPER(X) | |
59: | PROPER(cons(X1,X2)) | → CONS(proper(X1),proper(X2)) | |
60: | PROPER(cons(X1,X2)) | → PROPER(X1) | |
61: | PROPER(cons(X1,X2)) | → PROPER(X2) | |
62: | PROPER(g(X)) | → G(proper(X)) | |
63: | PROPER(g(X)) | → PROPER(X) | |
64: | PROPER(s(X)) | → S(proper(X)) | |
65: | PROPER(s(X)) | → PROPER(X) | |
66: | PROPER(sel(X1,X2)) | → SEL(proper(X1),proper(X2)) | |
67: | PROPER(sel(X1,X2)) | → PROPER(X1) | |
68: | PROPER(sel(X1,X2)) | → PROPER(X2) | |
69: | F(ok(X)) | → F(X) | |
70: | CONS(ok(X1),ok(X2)) | → CONS(X1,X2) | |
71: | G(ok(X)) | → G(X) | |
72: | S(ok(X)) | → S(X) | |
73: | SEL(ok(X1),ok(X2)) | → SEL(X1,X2) | |
74: | TOP(mark(X)) | → TOP(proper(X)) | |
75: | TOP(mark(X)) | → PROPER(X) | |
76: | TOP(ok(X)) | → TOP(active(X)) | |
77: | TOP(ok(X)) | → ACTIVE(X) | |